package org.frog.sgs.card.general;

import org.frog.sgs.card.Card;
import org.frog.sgs.card.general.camp.Camp;
import org.frog.sgs.card.general.sex.Sex;

/**
 * 将领牌
 * 
 * @author duanxiangqi
 * @date 2012-10-13
 */
public interface General extends Card {

	/**
	 * <pre>
	 * 魏
	 * 曹　操	4	奸雄——你每受到一次伤害，你可以获得对你造成伤害的牌 护驾——主公技，当你需要使用或打出一张【闪】时，你可令其他魏势力角色打出一张【闪】
	 * 许　褚	4	裸衣——摸牌阶段摸牌时，你可以少摸一张牌，则你使用【杀】或【决斗】（你为伤害来源时）造成的伤害＋1，直到回合结束
	 * 司马懿 3	反馈——你每受到一次伤害，你可以获得伤害来源的一张牌。鬼才——在一名角色的判定牌生效前，你可以打出一张手牌代替之。
	 * 夏侯惇 4	刚烈——你每受到一次伤害，你可进行一次判定，若结果不为红桃，则目标来源选择一项：弃置两张手牌；或受到你对其造成的1点伤害。
	 * 郭　嘉	3	天妒——在你的判定牌生效后，你可以获得此牌。遗计——你每受到1点伤害，可观看牌堆顶的两张牌，将其中一张交给一名角色，然后将另一张交给一名角色。
	 * 张　辽	4	突袭——摸牌阶段，你可以放弃摸牌，改为获得一至两名角色的各一张手牌。
	 * 甄　姬	3	倾国——你可以将一张黑色手牌当【闪】使用或打出。洛神——回合开始阶段开始时，你可以进行一次判定，若结果为黑色，你获得此牌，你可以重复此流程，直到出现红色的判定结果为止。
	 * 蜀
	 * 刘　备	4	仁德——出牌阶段，你可以将任意数量的手牌交给其他角色，若你给出的牌张数达到两张或更多时，你回复1点体力。激将——主公技，当你需要使用或打出一张【杀】时，你可令其他蜀势力角色打出一张【杀】（视为由你使用或打出）。
	 * 关　羽	4	武圣——你可以将一张红色牌当【杀】使用或打出。
	 * 张　飞	4	咆哮——出牌阶段，你可以使用任意数量的【杀】。
	 * 马　超	4	马术——锁定技，当你计算与其他角色的距离时，始终－1。铁骑——当你使用【杀】指定一名角色为目标后，你可以进行判定，若结果为红色，此【杀】不可被闪避。
	 * 赵　云	4	龙胆——你可以将【杀】当【闪】、【闪】当【杀】使用或打出。
	 * 诸葛亮	3	观星——回合开始阶段开始时，你可以观看牌堆顶的X张牌（X为存活角色的数量且最多为5），将其中任意数量的牌以任意顺序置于牌堆顶，其余以任意顺序置于牌堆底。空城——锁定技，若你没有手牌，你不能成为【杀】或【决斗】的目标
	 * 黄月英	3	集智——当你使用一张非延时类锦囊时，你可以摸一张牌。奇才——锁定技，你使用任何锦囊无距离限制。
	 * 吴
	 * 孙　权	4	制衡——出牌阶段，你可以弃置任意数量的牌,然后摸等量的牌。每个阶段限一次。救援——主公技，锁定技，当其它吴势力角色在你濒死状态下对你使用【桃】时，你额外回复1点体力。
	 * 周　瑜	3	英姿——摸牌阶段摸牌时，你可以额外摸一张牌。反间——出牌阶段，你可以指定一名其他角色，该角色选择一种花色后获得你的一张手牌并展示之，若此牌与所选花色不同，则你对该角色造成1点伤害。每个阶段限一次
	 * 甘　宁	4	奇袭——出牌阶段，你可以将一张黑色牌当【过河拆桥】使用。
	 * 吕　蒙	4	克己——若你于出牌阶段未使用或打出过【杀】，你可以跳过此回合的弃牌阶段
	 * 黄　盖	4	苦肉——出牌阶段，你可以失去一点体力，然后摸两张牌。
	 * 陆　逊	3	谦逊——锁定技，你不能成为【顺手牵羊】和【乐不思蜀】的目标。连营——当你失去最后的手牌时，你可以摸一张牌。
	 * 孙尚香	3	结姻——出牌阶段，你可以弃置两张手牌并指定一名受伤的男性角色，你与其各回复1点体力。每阶段限一次。枭姬——当你失去装备区里的一张牌时，你可以摸两张牌。
	 * 大　乔	3	国色——出牌阶段，你可以将你的一张方片花色的牌当【乐不思蜀】使用。流离——当你成为【杀】的目标时，你可以弃置一张牌，并将此【杀】转移给你攻击范围内的一名其他角色，该角色不得是【杀】的使用者
	 * 群
	 * 吕　布	4	无双——锁定技，你使用【杀】指定一名角色为目标后，该角色须连续使用两张【闪】才能抵消；与你进行【决斗】的角色每次须连续打出两张【杀】
	 * 貂　蝉	3	离间——出牌阶段，你可以弃置一张牌并选择两名男性角色，若如此做，视为其中一名男性角色对另一名男性角色使用一张【决斗】。此【决斗】不能被【无懈可击】响应。每阶段限一次。闭月——回合结束阶段开始时，你可以摸一张牌。
	 * 华　佗	3	急救——你的回合外，你可以将一张红色牌当【桃】使用。青囊——出牌阶段，你可以弃置一张手牌，令一名已受伤角色回复1点体力。每阶段限一次。
	 * </pre>
	 */

	/**
	 * 主动触发某个事件
	 * 
	 * @param msgCode
	 */
	void triggerEvent(int msgCode);

	/**
	 * 设置阵营
	 */
	void setCamp(Camp camp);

	/**
	 * 获取阵营
	 * 
	 * @return
	 */
	Camp getCamp();

	/**
	 * 设置性别
	 * 
	 * @param sex
	 */
	void setSex(Sex sex);

	/**
	 * 获取性别
	 * 
	 * @return
	 */
	Sex getSex();

	/**
	 * 设置最大体力值
	 * 
	 * @param maxStrength
	 */
	void setMaxStrength(int maxStrength);

	/**
	 * 获取最大体力值
	 * 
	 * @return
	 */
	int getMaxStrength();
}
